Embodiments of the present invention relates generally to computer graphics for computer-simulated environments, such as so-called virtual reality (VR) environments or any other graphics data capable of being presented on a display.
A VR environment simulates the physical presence of a user in places in the real world, or in an imaginary world, often in a highly visual three-dimensional (3D) manner. Most current VR environments are primarily visual experiences, displayed either on a computer screen or through special stereoscopic displays. However, some simulations include additional sensory information, such as sound through speakers or headphones. Haptic systems, for example for medical or gaming applications, may further include tactile information, generally known as force feedback. The user may interact with the VR environment via standard input devices such as a keyboard and mouse. In more advanced applications, multimodal devices such as a wired glove (or data glove) may be used.
A head-mounted display (HMD) system is preferably employed to provide the user with a realistic visual experience. Here, depending on how the user moves his/her head, the display presents graphics data that represent a field of view as seen by the user from a particular position and in a particular direction in the VR environment. The HMD system therefore requires that the user's head motions are tracked with high accuracy. Today, various forms of accelerometers and gyros are integrated into the HMD system for this purpose. However, this approach is associated with many problems.
As a start, a neutral, or origin position must be defined, which is linked to a particular position and direction for the user's field of view in the VR environment. Then, every movement in each direction and each rotation from the origin position must be tracked in order to determine how the field of view presented to the user shall be altered to maintain a consistent and realistic impression of the VR environment. This is a very challenging task, since parameters having six degrees of freedom (i.e. three spatial and three angular coordinates) must be kept up to date. Of course, over time, errors will be accumulated, such that eventually there is an unacceptably large disagreement between the field of view presented to the user via the graphics data and what actually should have been presented. These effects become especially pronounced if the user moves rapidly up/down, left/right, back/forth and/or angularly by for example shaking his/her head. Moreover, if for some reason, the motion tracking is lost, the system needs to be reset. I.e. the user must return to the origin position. In a gaming application, this may be annoying; whereas in a medical application (e.g. remote surgery), the consequences may be very critical indeed.
Today, there is no practically working alternative to the above-described accelerometer/gyro technology (which requires repeated updating and recoding of all positional and angular changes of the user's head) for providing control data to a computer so that the computer can generate adequate graphics data for presenting the VR environment to the user in a realistic manner, for instance via a HMD system.